home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-ROM Collection / Amiga CD-ROM Collection - Auge 4000 and Cactus and Demo Util.iso / cactus / 49 / progs / arq / upd.dok < prev    next >
Text File  |  1992-07-28  |  13KB  |  323 lines

  1.  
  2.    CACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUScactus
  3.    U                                                                      U
  4.    S                                 UPD                                  S
  5.    E                                 ***                                  E
  6.    R               Übersetzt 7/92 von C.A.C.T.U.S. (Guido Coenen)         R
  7.    S                                                                      S
  8.    cactusCACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUS
  9.  
  10.  
  11.  
  12.  
  13. Release 1.00
  14.  
  15.                 Der minimal player daemon - upd
  16.                 ===============================
  17.  
  18.       © 1991 Jonas Petersson & Absolut Software (alias Sirius Soft)
  19.  
  20.  
  21.  
  22. Einführung:
  23. ===========
  24.  
  25. Wäre es nicht schön, einen Hintergrundprozess zu haben, der auf Wunsch
  26. beliebige Sounds abspielt, statt diese ganze Herumfummelei mit dem
  27. audio.device und so weiter am Hals zu haben? Das Hintergrundprogramm
  28. muß natürlich klein sein und auch ganz große Samples abspielen können.
  29. Das Programm sollte von überall aus ansprechbar sein - sogar von
  30. Skripts aus.
  31.  
  32. Schwierig, aber machbar.
  33.  
  34. Das Programm ermöglicht es, Deine Lieblingssounds in eine Konfigurations-
  35. datei aufzunehmen und vernünftige Programme werden diese neuen Sounds
  36. berücksichtigen. Das Programm hat sogar eine ARexx-Unterstützung -
  37. um ehrlich zu sein, ist das die einzige Art, wie upd genutzt werden
  38. kann...
  39.  
  40. Die vorliegende Version arbeitet ganz gut in der beabsichtigten Weise.
  41.  
  42.  
  43. Aufruf:
  44. =======
  45.  
  46.         [run] upd [Puffergröße [IDfile]]
  47.  
  48. Das "RUN" ist natürlich optional, aber daemons sollte wirklich bereits
  49. im Hintergrund laufen, solange Du nicht die debugging-Informationen
  50. mitbekommen möchtest. "Puffergröße" ist die Menge an Chip-Memory, die
  51. jeder der vier Puffer beim Spielen verbrät. Die Puffer werden bereits
  52. beim Programmaufruf angelegt, um sicherzustellen, daß jederzeit ein
  53. Sound abgespielt werden kann - solange die Audio-Kanäle nicht belegt
  54. sind...
  55.  
  56. Voreingestellt ist ein Wert von 1024; ein kleinerer Wert als 64 führt
  57. zur Benutzung dieser Voreinstellung. Ich habe mal gehört, daß es Leute
  58. gibt, die ohne einen Puffer von 1K nichts vernünftiges rausbringen -
  59. bin ich wirklich der einzige hier mit einer Festplatte, die schnell
  60. genug ist?
  61.  
  62.  
  63. Achtung: Mach den Puffer nicht größer, als er wirklich benötigt wird.
  64. Ein großer Puffer bedeutet, daß der Sound mit einer entsprechenden
  65. Verzögerung abgespielt wird, da der große Puffer natürlich vorher
  66. gefüllt werden muß!
  67.  
  68. Falls der parameter IDfile angegeben wurde, wird die angegebene Datei
  69. anstelle des voreingestellten s:upd.IDs benutzt. Um diese Fähigkeit
  70. zu nutzen, mußt Du die Puffergröße entsprechend setzen. Ich stimme zu,
  71. daß das ein wenig unschön ist, aber die meisten Leute werden das sowieso
  72. nicht in Anspruch nehmen.
  73.  
  74. Die obige Syntax gibt natürlich, wie Du bestimmt erkannt hast, keinen
  75. Laut von sich. Einmal gestartet, kann man upd nur über ARexx Befehle
  76. erteilen. Ich habe sogar das ganze BREAK-Zeug entfernt, das noch aus
  77. Zound stammte, weil es passieren kann, daß ARexx nach einer derartigen
  78. Unterbrechung ewig auf Antwort wartet.
  79.  
  80. upd kennt zur Zeit vier Befehle:
  81.  
  82.         Datei Pfad [Optionen] [weitererPfad [Optionen]]
  83.         id   id-in-s:upd.IDs
  84.         rescan neue-id-datei
  85.         exit
  86.  
  87. Nun, tatsächlich gibt es sogar noch einen weiteren Befehl: ´Can it,
  88. Marvin´. Das unterbricht den aktuellen Sound sofort. Um ehrlich zu
  89. sein, unterbricht JEDER Befehl den aktuellen Sound - falls der neue
  90. Sound existiert, wird er abgespielt, andernfalls stoppt upd nur den
  91. aktuellen Sound.
  92. Sie vorsichtig mit dem RESCAN-Befehl - falls es Schwierigkeiten mit
  93. dem Laden der Datei gibt, gehen die alten IDs verloren...
  94.  
  95. Die Optionen sind dieselben wie bei Zound außer der Option "-n", die
  96. es hier nicht gibt (sag mir, daß Du es brauchst,und ich bau´s ein, hehe).
  97. Hier die Liste:
  98.  
  99.     -r rate     Die Abspielgeschwindigkeit des gesampelten Sound.
  100.                 Voreingestellt ist die Geschwindigkeit im Kopf der
  101.                 IFF-8SVX-Datei oder, falls es sich um ein RAW-Format
  102.                 handelt, 310. Das ist zumeist plausibel - die meisten
  103.                 RAW-Samples sind entweder mit 310 oder 155 abzuspielen.
  104.                 Kleinere Zahlen spielen den Sample schneller.
  105.  
  106.     -v volume   (Lautstärke) Eine Zahl von 0 bis 64, wobei 64 der
  107.                 Maximalwert und gleichzeitig Voreinstellung ist.
  108.  
  109.     -s start    (Anfang) Der Offset, ab dem der Sample gespielt werden
  110.                 soll. Voreinstellung 0.
  111.  
  112.     -l length   (Länge) Die Länge des abzuspielenden Stückes, falls nur
  113.                 ein Teil abgespielt werden soll. Voreingestellt ist die
  114.                 volle Länge des Samples. Sei vorsichtig mit diesen beiden
  115.                 Angaben, sonst gibt´s merkwürdige Ergebnisse.
  116.  
  117.     -c cycles   (Wiederholungen) Wie oft jeder Puffer abgespielt werden
  118.                 soll. Voreinstellung 1. Nicht sehr nützlich, aber es gibt
  119.                 einen hübschen "Quietsch-Effekt", wenn cycles auf 2
  120.                 gesetzt und die Geschwindigkeit verdoppelt wird...
  121.  
  122.     -d          Zeigt Debug-Informationen. Achtung: Die Ausgabe erscheint
  123.                 im Standard-Ausgabefenster des Programmes und NICHT in
  124.                 dem Fenster, von dem Du aus das Programm gestartet hast!
  125.  
  126.     -L          Der Sample wird nur im linken Lautsprecher abgespielt. Bei
  127.                 Stereo-Samples wird nur der Sample für den linken Kanal
  128.                 genutzt.
  129.     -R          Wie '-L', aber für den rechten Lautsprecher.
  130.     -S          Abgespielt wird in beiden Lautsprechern, auch wenn es sich
  131.                 um einen Mono-Sample handelt. Voreinstellung ist bei
  132.                 8SVX-Samples die dortige Angabe im Dateikopf oder bei
  133.                 RAW-Samples die Option -L.
  134.  
  135.  
  136. Anwendungsbeispiel (z.B. von WShell aus):
  137.  
  138.         "address play file 'sounds:chopper'
  139.         "address play id 2001
  140.         "address play rescan 'ram:upd.IDs'
  141.         "address play exit
  142.  
  143. Anmerkung: ARexx konvertiert normalerweise alles in Großschrift und
  144. könnte eventuell versuchen, Rechenoperationen usw. mit Dateinamen zu
  145. versuchen. Darum ist es eine gute Idee, alle Pfadangaben, IDs usw.
  146. in einzelne Anführungszeichen (´) zu setzen. Falls Du den upd-Port
  147. direkt ansprechen möchtest, dann benutze den Namen "PLAY" (in
  148. Großbuchstaben).
  149.  
  150. Anmerkung 2: Falls Du es wirklich einmal eilig hast, upd loszuwerden,
  151. dann gibt es noch folgende Möglichkeit:
  152.  1) Schicke eine ungültige ARexx-Nachricht, um den Sound zu unterbrechen.
  153.  2) Schicke ein break C an upd - break arbeitet, solange upd nicht
  154.     aktiv ist oder
  155.     schicke die EXIT-Nachricht.
  156.  
  157. Letzteres klingt viel einfacher als ersteres, solange Du nicht (wie
  158. ich) ein DisplayBeep() hast, das per upd angesteuert wird. In diesem
  159. Falle ist es wesentlich einfacher, ein DisplayBeep() und break C zu
  160. produzieren. Die Reihenfolge ist nicht wichtig, da das break in eine
  161. Warteschlange gestellt wird.
  162.  
  163.  
  164. Hinweise:
  165. =========
  166.  
  167. Der Start von upd vom SOUNDS: Verzeichnis aus ist ein guter Weg, nicht
  168. jedesmal beim Start eines Samples den vollen Pfadnamen eintippen zu
  169. müssen. Das Programm kennt keine Methode herauszufinden, von wo die
  170. Nachricht geschickt wurde und sucht deshalb bei Dateinamen ohne Pfad-
  171. angaben im aktuellen Verzeichnis.
  172.  
  173.  
  174. Dateien:
  175. ========
  176.  
  177.         s:upd.IDs
  178.  
  179. Diese Datei enthält die IDs (Kennungen) Deiner Lieblings-Samples wie
  180. eine Datenbank und ist einfach editierbar. Dateiformat:
  181.  
  182.  
  183. # Zeilen, die mit '#' beginnen, sind Kommentare.
  184. # Id list for micro player daemon
  185. # Created 910201 Jonas Petersson (zaphod@magrathea.indic.se)
  186. # These sounds could be called for at certains situation
  187. # On severe error
  188. BUG     sounds:explosion -S
  189. # When asked for confirmation
  190. CONFIRM sounds:PressLeftMouseButton -L
  191. # Minor trouble
  192. ERROR   sounds:ImSorryDaveImAfraidICantDoThat -R
  193. # Going down...
  194. GURU    sounds:RoysDeathMonologueFromBladerunner -S
  195. # Personal shortcuts/favourites
  196. 2001    sounds:openpod -L sounds:hal -R
  197.  
  198.  
  199. Das Entfernen von Einträgen resultiert in fehlendem Sound (wobei upd
  200. dazu in der Standardausgabe etwas dazu anmerken wird, solange die
  201. Standardausgabe nicht umgeleitet wird). Denke daran daß ARexx alles
  202. in Großschrift umwandelt, solange Du es nicht in Anführungszeichen setzt!
  203.  
  204. Füge hinzu, was immer Du möchtest. Könnte hübsche Ergebnisse bringen.
  205. Vorschläge werden gerne entgegengenommen. Ein Beispiel für Programme,
  206. die upd nutzen, ist Arq von Mjl. Einzelheiten sind der Anleitung zu
  207. Arq zu entnehmen.
  208.  
  209. Anmerkung: Es IST möglich, in den IDs Leerzeichen, Kleinschreibung etc.
  210. zu verwenden, aber das könnte Verwirung erzeugen. Sieh Dich vor!
  211.  
  212. Anmerkung 2: Die ID-Datei wird nur beim Erstaufruf von upd geladen.
  213. Bei Änderungen ist upd erneut aufzurufen.
  214.  
  215.  
  216. Returncodes:
  217. ============
  218.  
  219. Falls der ARexx-Befehl den Return-Code von 20 zurückgibt, gibt der
  220. sekundäre Returncode den Grund des Fehlschlages an:
  221.  
  222. 10      Kanäle konnten nicht belegt werden.
  223. 17      Konnte s:upd.IDs auf Anfrage nicht öffnen.
  224. 18      Gesuchte ID nicht gefunden.
  225. 19      Probleme beim Lesen einer neuen ID-Datei.
  226. 20      Fehler beim Erkennen der Optionen.
  227. 21      Datei mit Sample kann nicht geöffnet werden.
  228. 22      Datei ist IFF-Format, aber nicht FORM 8SVX.
  229. 23      Fehlerhafte IFF-Datei.
  230. 24      Fehlerhafte CHAN-Länge.
  231. 25      Fehlerhafte VHDR-Länge.
  232. 26      Kann Datei nicht zum zweiten Mal öffnen. (Für Stereo)
  233. 30      Kann nicht rückwärts abspielen. (Ungültige Optionen)
  234. 31      Kann IOAudio-Strukturen nicht allozieren.
  235. 32      Lann Ports für Ausgabekanäle nicht öffnen.
  236.  
  237. Die Unterbrechung durch das Abspielen eines anderen Samples ist nicht
  238. als Fehler zu betrachten.
  239.  
  240. Zukünftige Verbesserungen:
  241. ==========================
  242.  
  243. Vielleicht automatische Entfernung aus dem CLI-Fenster (hat mit Aztec 5.0a
  244. nicht so recht geklappt, und mit 5.0d hab ichs noch nicht so richtig
  245. probiert).
  246.  
  247. Ansonsten vielleicht nicht viel mehr - es ist doch nur ein einfacher
  248. Soundplayer für kleinere Hintergrundaufgaben, damit andere Programme
  249. nicht nur DisplayBeep() nutzen.
  250. Ich sehe das Programm am liebsten als eine Art Gegenstück zu SPEAK: -
  251. falls Du mehr möchtest, möchtest Du es vielleicht interaktiv. Hmm,
  252. das wäre ein Gedanke - ein SOUND: device...)
  253.  
  254.  
  255.  
  256. Mögliche Probleme:
  257. ==================
  258.  
  259. 1. Falls der abzuspielende Sample auf einer Diskette oder einer sehr
  260.    langsamen Festplatte ist und die Abspielrate die Ladegeschwindigkeit
  261.    übersteigt, kann es zu Abspielpausen kommen...
  262. Abhilfe: Der von upd zu verwendende Speicherplatz kann nun bei Aufruf
  263.    angegeben werden, wie z.B. in 'upd 2000'. Ein großer Puffer führt
  264.    allerdings beim Aufruf des Samples zu einer längeren Pause, bis Du
  265.    das erste Geräusch hörst - der Puffer muß nämlich erst mal gefüllt
  266.    werden.
  267.  
  268. 2. Stereosamples und gepackte Samples sind noch nicht unterstützt; es
  269.    gibt noch Ladeprobleme. Benutze dafür stattdessen Zound.
  270. Abhilfe: Stereo funktioniert nun (es hat früher auch schon von RAM: aus
  271.    funktioniert, aber ich hatte es in der Vorversion noch nicht
  272.    zugelassen). Gepackte Samples wären ebenfalls einfach möglich, aber
  273.    wer arbeitet schon damit? Falls Du einen Fibonachi-gepackten Sample
  274.    hast - BITTE schick ihn mir, da ich nicht die Geduld habe, einen
  275.    von Hand nachzubauen...
  276.  
  277. 3. Das Programm könnte sich aufhängen, falls jemand einen Ausgabekanal
  278.    klaut.
  279. Abhilfe: Ich habe in Version 0.99 noch nicht alle möglichen Überprüfungen
  280.    eingebaut - jetzt schon (hoffe ich!).
  281.  
  282. 4. -s und -l wurden in Version 0.99 nicht benutzt - jetzt schon.
  283.  
  284. Vielen Dank an mjl@alison.at für die Idee.
  285.  
  286.  
  287. Vertrieb
  288. ========
  289.  
  290. UPD ist kein Public Domain. Ein Freund riet mir, es stattdessen als
  291. "Frei vertreibbar urhebergeschützt" zu bezeichnen. Das trifft es
  292. ganz gut. Falls Du es mit einem kommerziellen Programm vertreiben
  293. möchtest, dann tue dieses, aber sende mir auf jeden Fall ein
  294. Originalexemplar des komerziellen Produktes.
  295.  
  296. Wie üblich, darf Fred Fish das Programm selbstverständlich in seine
  297. Serie aufnehmen.
  298.  
  299. Quellcode? Glaubst Du wirklich, es gäbe noch etwas zu verbessern???
  300. Tja, schick mir eine Nachricht, und ich werde darüber nachdenken...
  301.  
  302.  
  303.  
  304.  
  305.  
  306.     Jonas 'Zaphod' Petersson
  307.     Albrektsvagen 113A
  308.     S-603 53  Norrkoping
  309.     SCHWEDEN
  310.     Telefon: +46 11 162517
  311.  
  312.     zaphod@magrathea.indic.se                   /* Zuhaus */
  313.     zap@indic.se                                /* Im Büro  */
  314.     zaphod@slaka.sirius.se                      /* Absolute software */
  315.  
  316.  
  317. Fühle Dich ermutigt, Kommentare, Fehlerbeschreibungen (häh?), Geld,
  318. Coke, Bier, Mädels (!) zu schicken.
  319.  
  320. Ein einfaches "Hey, ich mag Dein Programm!" ist genausogut wie ein paar
  321. Piepen - ich hab das Programm geschrieben, weil ich es brauchte, und
  322. nicht, um Geld damit zu machen. Bis dann!
  323.